{
  "cells": [
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "UMqBL77hMXP2"
      },
      "source": [
        "# Applying advanced **LangChain** configurations and pipeline\n",
        "\n",
        "Authors:  \n",
        " - [Lior Gazit](https://www.linkedin.com/in/liorgazit).  \n",
        " - [Meysam Ghaffari](https://www.linkedin.com/in/meysam-ghaffari-ph-d-a2553088/).  \n",
        "\n",
        "This notebook is taught and reviewed in our book:  \n",
        "**[Mastering NLP from Foundations to LLMs](https://www.amazon.com/dp/1804619183)**  \n",
        "![image.png]()\n",
        "\n",
        "This Colab notebook is referenced in our book's Github repo:   \n",
        "https://github.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs   \n",
        "<a target=\"_blank\" href=\"https://colab.research.google.com/github/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/blob/liors_branch/Chapter9_notebooks/Ch9_Advanced_LangChain_Configurations_and_Pipeline.ipynb\">\n",
        "  <img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/>\n",
        "</a>"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "_O6mghyBdyHh"
      },
      "source": [
        "**Purpose of this notebook:**  \n",
        "This notebook is an enhancement of the pipeline we applied in chapter 8 on this notebook:    \n",
        "**Ch8_Setting_Up_LangChain_Configurations_and_Pipeline.ipynb**\n",
        "\n",
        "We put together a complete **RAG** pipeline that includes **embeddings** and their storage in a **vector DB** so to have an \"inhouse\" search in physician notes.  \n",
        "Unlike the previous notebook, here we have an LLM driving the search, which avoides mistakes of mismatched retrievals.  \n",
        "\n",
        "**Requirements:**  \n",
        "* When running in Colab, use this runtime notebook setting: `Python 3, CPU`  \n",
        "* This code picks OpenAI's API as a choice of LLM, so a paid **API key** is necessary.   "
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "g54Uf66Vz9Fi"
      },
      "source": [
        ">*```Disclaimer: The content and ideas presented in this notebook are solely those of the authors and do not represent the views or intellectual property of the authors' employers.```*"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "wc4H7Oz-TKQQ"
      },
      "source": [
        "Install:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "G_6RT4wMTKQQ",
        "outputId": "4cf3f4c3-d261-49e7-f8d0-38f61612a933"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m817.0/817.0 kB\u001b[0m \u001b[31m14.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m75.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m252.4/252.4 kB\u001b[0m \u001b[31m34.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.1/63.1 kB\u001b[0m \u001b[31m9.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m49.4/49.4 kB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m138.5/138.5 kB\u001b[0m \u001b[31m20.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m156.3/156.3 kB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.6/17.6 MB\u001b[0m \u001b[31m64.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.0/77.0 kB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25h"
          ]
        }
      ],
      "source": [
        "# REMARK:\n",
        "# If the below code error's out due to a Python package discrepency, it may be because new versions are causing it.\n",
        "# In which case, set \"default_installations\" to False to revert to the original image:\n",
        "default_installations = True\n",
        "if default_installations:\n",
        "  !pip -q install langchain\n",
        "  !pip -q install sentence_transformers\n",
        "  !pip -q install faiss-cpu\n",
        "  !pip -q install openai==0.28.1\n",
        "else:\n",
        "  import requests\n",
        "  text_file_path = \"requirements__Ch9_Advanced_LangChain_Configurations_and_Pipeline.txt\"\n",
        "  url = \"https://raw.githubusercontent.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/main/Chapter9_notebooks/\" + text_file_path\n",
        "  res = requests.get(url)\n",
        "  with open(text_file_path, \"w\") as f:\n",
        "    f.write(res.text)\n",
        "\n",
        "  !pip install -r requirements__Ch9_Advanced_LangChain_Configurations_and_Pipeline.txt"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "yACZPlFPTKQR"
      },
      "source": [
        "Imports:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "WmDcVqb_TKQb"
      },
      "outputs": [],
      "source": [
        "import requests\n",
        "from langchain.document_loaders import TextLoader\n",
        "import textwrap\n",
        "from langchain.text_splitter import CharacterTextSplitter\n",
        "from langchain.embeddings import HuggingFaceEmbeddings\n",
        "from langchain.vectorstores import FAISS\n",
        "\n"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "HWH_36ZfdcNC"
      },
      "source": [
        "Code Settings:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "fV5UG0_xdcXP"
      },
      "outputs": [],
      "source": [
        "# In the data file we're using, this short string is a dilimiter between different clinical reports:\n",
        "split_text_by = '\"Title: Mocked up record'\n",
        "chunk_size = 2000\n",
        "chunk_overlap = 0"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "lPpqKBtA5jtM"
      },
      "source": [
        "Define OpenAI's API key:  \n",
        "**You must provide a key and paste it as a string!**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "cbbbf3de-a9d6-46cf-afab-dcb72a6154ec"
      },
      "outputs": [],
      "source": [
        "openai_api_key = \"...\""
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "hALLW9fyXWqu"
      },
      "source": [
        "### Load Text File With Mocked Physician Notes\n",
        "These files hold the information we are looking to tap into.  \n",
        "In this particular example, we concatenated all the mocked reports to a single .CSV table, just so to make the loading short and simple:  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "j9lr1BOMXTVr"
      },
      "outputs": [],
      "source": [
        "text_file_path = \"mocked_up_physician_records.csv\"\n",
        "url = \"https://raw.githubusercontent.com/PacktPublishing/Mastering-NLP-from-Foundations-to-LLMs/main/Chapter8_notebooks/\" + text_file_path\n",
        "res = requests.get(url)\n",
        "with open(text_file_path, \"w\") as f:\n",
        "  f.write(res.text)"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "YChgXFOEG7pY"
      },
      "source": [
        "Load the text content of the file:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "sVio4mK5XVwR"
      },
      "outputs": [],
      "source": [
        "# Document Loader\n",
        "text_loader = TextLoader(text_file_path)\n",
        "documents = text_loader.load()"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "W53RuDbFHCKt"
      },
      "source": [
        "Observe the LangChain variable type (this is useful so to know how to manipulate):"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Du41v2SOnXtG",
        "outputId": "09e487e6-7f03-4843-effd-b33b00666629"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "<class 'langchain_core.documents.base.Document'>\n"
          ]
        }
      ],
      "source": [
        "print(type(documents[0]))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "NIjwhtVvWOPS"
      },
      "source": [
        "See the count of documents:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ICTYiZhMXYvQ",
        "outputId": "75a65d1f-eafb-4a15-a282-d69f3471f8ec"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "1"
            ]
          },
          "execution_count": 8,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "len(documents)"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "XsawZueGWYD_"
      },
      "source": [
        "Showcasing an example of accessing the raw text:"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "Ei5Bu28KFi89",
        "outputId": "c28ec486-638c-453c-bdd9-aa71d6d3ac41"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\"Title: Mocked up record\n",
            "Physician Name: Dr. ABC\n",
            "Date: June 25, 2099\n",
            "Patient ID: 987654321\n",
            "Chief Complaint: Abdominal pain\n",
            "\n",
            "History of Present Illness:\n",
            "The patient, Mr. John Anderson, a 42-year-old ma\n"
          ]
        }
      ],
      "source": [
        "print(documents[0].page_content[0:200])"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "9yrck6oSHIrd"
      },
      "source": [
        "### Process the data so to be prepared for embedding"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "_qXNpk8vXlys"
      },
      "outputs": [],
      "source": [
        "# Text Splitter\n",
        "text_splitter = CharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap, separator=split_text_by)\n",
        "splitted_docs = text_splitter.split_documents(documents)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "gEUp4OtxnuXL",
        "outputId": "401ebd8e-cdc1-4de5-cb66-81fac94721c9"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "4"
            ]
          },
          "execution_count": 11,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "len(splitted_docs)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "z_HUKypknucr",
        "outputId": "3485a96a-0a53-42e8-ec9e-bd39ff4d5202"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physician Name: Dr. ABC\n",
            "Date: June 25, 2099\n",
            "Patient ID: 987654321\n",
            "Chief Complaint: Abdominal pain\n",
            "\n",
            "History of Present Illness:\n",
            "The patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\n",
            "\n",
            "During the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\n",
            "\n",
            "Regarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\n",
            "\n",
            "Based on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\"\n"
          ]
        }
      ],
      "source": [
        "print(splitted_docs[0].page_content)"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "G6HWzhWUaRIb"
      },
      "source": [
        "### Creating the embeddings that would be stored in the vector database\n",
        "Using an open source model from Hugging Face."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 528,
          "referenced_widgets": [
            "9c4c5e87d241458b8c0a5ecb428b357f",
            "95911db5cd6b4c55b20b0f3f9bae029f",
            "3d576db863cd42e8ae25e8b032bd3e09",
            "77a3501763124923bc6df9a753009adb",
            "1933eed6baaa4ae280bd221decbd0b7e",
            "294309b77ab4450ba7654023434db8fa",
            "5ddef4acae5a42e3a93539e351b33f9b",
            "53e32192b5514380a0b2b9d8ab712dd2",
            "9a90fce6165a45a88da1242b86b1bfe3",
            "8b49c6d1f00843d5a83c6fe411a8d215",
            "362d188ac22e493f860be2faa64c784c",
            "b77ed607d5f74121b8dcd69e4df61e5e",
            "999789464e524407bdbe83f6409b1015",
            "ac56db1aec8440bf94cffb54a79052bd",
            "52972b905578479884f83347a1e76cbe",
            "e6480d0be99b4cd5ad921e9c625a54a4",
            "a80d862e8c994982a0350b596aa82106",
            "b5c37c3e7bb345269ebafc0e7c9e3376",
            "3f95cca13d054af3adcf6fa8a2864ea9",
            "969d48140e6945aa8e8d5923c4409c7d",
            "69fa8f59fbf04e3c8a9316625e3cd0e5",
            "d59a8156ff1d4ccfba4479eadd2ad16c",
            "dd454c34ca70429d90e16248b04b9747",
            "28315ffd02b245fab5ce0a854fcc114b",
            "18a0be8f34f543fead9b90607b3ee3e1",
            "28b9b0106f624764868a1103910dac8e",
            "f14b8ea8b89d44bb8ec8570385107088",
            "0c610945660b4583a9ee6a0a4826280e",
            "b8fcf772e0dd4f318d63620ce1a6a7f6",
            "9d333efaa60548f993d04318113a5c65",
            "c397737f7ab44094a506518c43c2c565",
            "ef591a0d13104b1f864bc0a91c3c6ed4",
            "c00f0d632d764c9c8490eae3af3c9200",
            "6d9ed85c28344bb9914855720b34f587",
            "31d0f1988cfa4647b70c3ee8c5cb626a",
            "93342ab35b1b4ce999c490dbfe9276d3",
            "8672b86e4eb84e84bcbaf3389ade5f2e",
            "0e51e076d2f444ad8c5137f8b4a077da",
            "0fa6519c13364cb0914338a34593bb4a",
            "a8bae23e72ba4c00ba78a8cd2dd7d6bf",
            "4b4e1afc246b4aada53805bdd11c41da",
            "8f89d0a799d6417f9c6ddc9583bece55",
            "17671567440d49e8aeb8ebbfa5c0cdac",
            "f8d9cc13e7024f63956233f7c7c2c60d",
            "2c07d280e7a9447cbaac20744541ff38",
            "9a986d92068f4dc5a14ca1342cc3ea1c",
            "9aaf447278044755a098278649517db2",
            "510ef40d93114501a08718bb48ccd506",
            "5e52a00d776740b695b123b003851d7c",
            "3cc83cd49f1142f0b24ceaab5ac9d950",
            "ac15f1ffb06d4d72b5eb7856d2ea18ce",
            "1b60c486282b4f05abe3dfe5c52bd061",
            "f4c44067d4ad412a9bb723c0d8a1cfed",
            "dbcbd02c35954fd0b3e908ccbf7a60ea",
            "f5e45e7589aa4636aa9638139882e13a",
            "793cc358094d40779096291e857c16ec",
            "d545db0a276348aca968da0708699848",
            "ac4284949c994690b314531a98ebd881",
            "1e1b44e564454620a150dde4a3906b1a",
            "b033da2df3e34947b0c8bde591ce4a2d",
            "d46c7d32d0bf49f1989151c6bfa68af2",
            "cb891dbbc7bc4e039d0e56861afde41b",
            "37e533fddfdd4716a4e62cdc249380bd",
            "92aeb0e392ca435ea3f7849d5236d33f",
            "fb2962a806b544acb0a8baf3a202c723",
            "b5998f9a16c14f399172a277382da8f9",
            "0690f2bd7d5d4de29a2b779ae46fe2d5",
            "21cce9705db548f481808b1355612abb",
            "2f6c7c873dca43a8a9804e0b77ea8483",
            "2e86a3ad21334e42a6d55b4c346ebd05",
            "a87146570b7d4d7a9bbdc53dd75c090e",
            "ada520522270448c99215caa41150b81",
            "e7cc96e40c6c4584ac5a5ba7e7236f9d",
            "0e53d0b2fa1742e8acdeb30af57c9eb1",
            "742f40a81cd24baaa81c16640f898719",
            "cfb6b76f4e204b9891917aa6620f1008",
            "b3a2b60388814306a7d98d6f3317b7ca",
            "5c9ad4a02529437689e0b88c7cadc6b9",
            "926881c7626f4ccea667b9ebea12e4d2",
            "109a725507a64ec39a3415a5a234b5ac",
            "faaca488244745cb812a7edb3148b33b",
            "c47053b0f5eb4b3eb38c238a61f28c6f",
            "a2665f4be6b34f539201ed6305437534",
            "b21dee0764754aadb4b641543ea7f911",
            "f8e2d1d09e8b49e89f5c876f17a937bc",
            "52b0756d15e14244bce2ffc84738583c",
            "ef881a346dab4b5488530375b3ebb9d9",
            "d4b975b3ca0d433d802cc152865546ce",
            "9c6c6f2a077943848a05c51f793dbc8c",
            "ee829b2e843b46d6b9c56a59501360a9",
            "4d2c83dd05ee4db9b90dbc09c1c7f229",
            "1bb4041857fc473d99344bfc22dfa110",
            "69e82eb51af5428c82a71e815b9647ab",
            "974edb8eb696493e93c2495ed3c009d7",
            "48523efe26c34e339ae5d9599064f9c0",
            "270f43f66bba4f9483f06751b2986a49",
            "810f56668cc345c6b8e181c876e28493",
            "d974f24662c8443bb656734b91b7dfce",
            "598cb094eb2d4737a7f47abe6eb87426",
            "009614dc00854d49b7efe7cbc622d0e6",
            "c8d52eb872dc46aca625ee1e19ecc66a",
            "a70b13691782416b99aa872e859f22d5",
            "9b03d73a79cd40c9a0e254b484f3c694",
            "9c14bb3ffac6416baf5569dd46b3dbdc",
            "1cc43f6715e648df98fa53d288b6b667",
            "2a2078829ee24bbebf1343aba4cb361b",
            "c5d05d7a56394500af291aed4fb14617",
            "441d55c9d10142f3b303e2bfb540dffd",
            "adb8b66a3a1745babb98b6d7ae578a34",
            "bd0452f1e910422c99f7d51bbbd2add1",
            "cc3334e9fcea42beac2c3447357475a5",
            "f20b901157844e1b9edfd4a839d2e29c",
            "f1bec6915e1243dc80f556c69383fecd",
            "2c20ed7107974d32ac1461f3abdc5e53",
            "aa6b350c2e444594a7c9e4ea67188b04",
            "b0513852366b4507bf191ca6d3e480b1",
            "9842fd86709d475b9f0f0a3b5e6574c9",
            "02e23119b81b4fb0b128b478f612127f",
            "8e6e80a810a2403c998fd5ad02dcae33",
            "0944f3a550214830bd38478722d09979",
            "f410d1bc25ea417c86172e04e6d58fce"
          ]
        },
        "id": "uctYbK6YXmxI",
        "outputId": "36f8a587-8579-4ec5-f8e7-a2220704019b"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_token.py:88: UserWarning: \n",
            "The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
            "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
            "You will be able to reuse this secret in all of your notebooks.\n",
            "Please note that authentication is recommended but still optional to access public models or datasets.\n",
            "  warnings.warn(\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "9c4c5e87d241458b8c0a5ecb428b357f",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "modules.json:   0%|          | 0.00/349 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "b77ed607d5f74121b8dcd69e4df61e5e",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "config_sentence_transformers.json:   0%|          | 0.00/116 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "dd454c34ca70429d90e16248b04b9747",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "README.md:   0%|          | 0.00/10.6k [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "6d9ed85c28344bb9914855720b34f587",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "sentence_bert_config.json:   0%|          | 0.00/53.0 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "2c07d280e7a9447cbaac20744541ff38",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "config.json:   0%|          | 0.00/571 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "793cc358094d40779096291e857c16ec",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "pytorch_model.bin:   0%|          | 0.00/438M [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/torch/_utils.py:831: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()\n",
            "  return self.fget.__get__(instance, owner)()\n"
          ]
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "0690f2bd7d5d4de29a2b779ae46fe2d5",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "tokenizer_config.json:   0%|          | 0.00/363 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "5c9ad4a02529437689e0b88c7cadc6b9",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "vocab.txt:   0%|          | 0.00/232k [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "9c6c6f2a077943848a05c51f793dbc8c",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "tokenizer.json:   0%|          | 0.00/466k [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "009614dc00854d49b7efe7cbc622d0e6",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "special_tokens_map.json:   0%|          | 0.00/239 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        },
        {
          "data": {
            "application/vnd.jupyter.widget-view+json": {
              "model_id": "cc3334e9fcea42beac2c3447357475a5",
              "version_major": 2,
              "version_minor": 0
            },
            "text/plain": [
              "1_Pooling/config.json:   0%|          | 0.00/190 [00:00<?, ?B/s]"
            ]
          },
          "metadata": {},
          "output_type": "display_data"
        }
      ],
      "source": [
        "embeddings = HuggingFaceEmbeddings(model_name=\"sentence-transformers/all-mpnet-base-v2\")"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "BQxBuY1Vq_EG"
      },
      "source": [
        "### Create the vector database"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "PF_k4Nw_q_xk"
      },
      "source": [
        "For a vector database we picked FAISS (Facebook AI Similarity Search):  \n",
        "More about it here: https://python.langchain.com/en/latest/modules/indexes/vectorstores.html"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "Zc7cEOR0Fi_o"
      },
      "outputs": [],
      "source": [
        "vector_db = FAISS.from_documents(splitted_docs, embeddings)"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "5orXbaPj5uie"
      },
      "source": [
        "### Perform similarity search based on our \"inhouse\" documents"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "HUETRq3nxjdg"
      },
      "source": [
        "**Question #1: Are there any pregnant patients who are due to deliver in August?**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "lCu4Ors_FjCU",
        "outputId": "32b8b8f0-7ca9-4287-aab3-bfe4f8ea8373"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physician Name: Dr. ABC\n",
            "Date: July 10, 2099\n",
            "Patient ID: 246813579\n",
            "Chief Complaint: Pregnancy Follow-\n",
            "up\n",
            "\n",
            "History of Present Illness:\n",
            "The patient, Mrs. Emily Adams, a 30-year-old female, presents today\n",
            "for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August\n",
            "27th, 2099. Mrs. Adams is married and lives with her husband.\n",
            "\n",
            "During the evaluation, Mrs. Adams\n",
            "reveals a family history of gestational diabetes, with her mother having developed the condition\n",
            "during her own pregnancies. She mentions no personal history of significant medical conditions,\n",
            "surgeries, or complications in previous pregnancies.\n",
            "\n",
            "Regarding her chief complaint, Mrs. Adams\n",
            "reports typical discomforts associated with the third trimester of pregnancy, including backache,\n",
            "frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal\n",
            "pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced\n",
            "diet and regular exercise routine to maintain her overall health during pregnancy.\n",
            "\n",
            "Based on the\n",
            "information provided, a routine prenatal examination will be conducted to monitor the progress of\n",
            "Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height\n",
            "measurement, and fetal heart rate monitoring. Discussions about childbirth preparation,\n",
            "breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition\n",
            "into motherhood.\"\n"
          ]
        }
      ],
      "source": [
        "query1 = \"Are there any pregnant patients who are due to deliver in August?\"\n",
        "docs = vector_db.similarity_search(query1)\n",
        "print(textwrap.fill(str(docs[0].page_content), width=100, replace_whitespace=False))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "VbR-2uxDxCep"
      },
      "source": [
        "**[EXAMPLE OF A MISTAKE!] Question #2: Are there any pregnant patients who are due to deliver in September?**  \n",
        "This is an example where the similarity search gets it **wrong!**  \n",
        "Indeed it provided a similar text to the question being asked, but this is an example of where similarity is different than getting the answer right.  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "z8wvzQSvFjFP",
        "outputId": "414cf268-e782-45cb-cf67-0caec7155b5a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physician Name: Dr. ABC\n",
            "Date: July 10, 2099\n",
            "Patient ID: 246813579\n",
            "Chief Complaint: Pregnancy Follow-\n",
            "up\n",
            "\n",
            "History of Present Illness:\n",
            "The patient, Mrs. Emily Adams, a 30-year-old female, presents today\n",
            "for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August\n",
            "27th, 2099. Mrs. Adams is married and lives with her husband.\n",
            "\n",
            "During the evaluation, Mrs. Adams\n",
            "reveals a family history of gestational diabetes, with her mother having developed the condition\n",
            "during her own pregnancies. She mentions no personal history of significant medical conditions,\n",
            "surgeries, or complications in previous pregnancies.\n",
            "\n",
            "Regarding her chief complaint, Mrs. Adams\n",
            "reports typical discomforts associated with the third trimester of pregnancy, including backache,\n",
            "frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal\n",
            "pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced\n",
            "diet and regular exercise routine to maintain her overall health during pregnancy.\n",
            "\n",
            "Based on the\n",
            "information provided, a routine prenatal examination will be conducted to monitor the progress of\n",
            "Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height\n",
            "measurement, and fetal heart rate monitoring. Discussions about childbirth preparation,\n",
            "breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition\n",
            "into motherhood.\"\n"
          ]
        }
      ],
      "source": [
        "query2 = \"Are there any pregnant patients who are due to deliver in September?\"\n",
        "docs = vector_db.similarity_search(query2)\n",
        "print(textwrap.fill(str(docs[0].page_content), width=100, replace_whitespace=False))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "kpcrVa5xxpRg"
      },
      "source": [
        "**Question #3: Which patients have travelled recently?**"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "An1HjqivFjIL",
        "outputId": "e0d5dd8a-4ae6-499c-98cb-5224cc4bf44d"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physician Name: Dr. ABC\n",
            "Date: June 25, 2099\n",
            "Patient ID: 987654321\n",
            "Chief Complaint: Abdominal pain\n",
            "History of Present Illness:\n",
            "The patient, Mr. John Anderson, a 42-year-old male, presents today with\n",
            "a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr.\n",
            "Anderson recently returned from a business trip to Europe about two weeks ago. He denies any\n",
            "respiratory symptoms or exposure to sick individuals during his travel.\n",
            "\n",
            "During the evaluation, Mr.\n",
            "Anderson revealed a pertinent family history of cardiovascular disease, with his father having\n",
            "suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type\n",
            "2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or\n",
            "hospitalizations.\n",
            "\n",
            "Regarding his chief complaint, Mr. Anderson describes the abdominal pain as a\n",
            "dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in\n",
            "severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies\n",
            "any associated symptoms such as nausea, vomiting, or changes in bowel movements.\n",
            "\n",
            "Based on the\n",
            "information provided, further assessment and diagnostic tests will be performed to determine the\n",
            "underlying cause of Mr. Anderson's abdominal pain.\"\n"
          ]
        }
      ],
      "source": [
        "query3 = \"Which patients have travelled recently?\"\n",
        "docs = vector_db.similarity_search(query3)\n",
        "print(textwrap.fill(str(docs[0].page_content), width=100, replace_whitespace=False))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "EXjrPg4Kxxy4"
      },
      "source": [
        "**Question #4: Which patients require lab work?**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "oqoVJmpqFjKs",
        "outputId": "67cef6fc-d3b2-4e30-dbdc-0d3fe2e78b9d"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Physician Name: Dr. ABC\n",
            "Date: June 25, 2099\n",
            "Patient ID: 987654321\n",
            "Chief Complaint: Abdominal pain\n",
            "History of Present Illness:\n",
            "The patient, Mr. John Anderson, a 42-year-old male, presents today with\n",
            "a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr.\n",
            "Anderson recently returned from a business trip to Europe about two weeks ago. He denies any\n",
            "respiratory symptoms or exposure to sick individuals during his travel.\n",
            "\n",
            "During the evaluation, Mr.\n",
            "Anderson revealed a pertinent family history of cardiovascular disease, with his father having\n",
            "suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type\n",
            "2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or\n",
            "hospitalizations.\n",
            "\n",
            "Regarding his chief complaint, Mr. Anderson describes the abdominal pain as a\n",
            "dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in\n",
            "severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies\n",
            "any associated symptoms such as nausea, vomiting, or changes in bowel movements.\n",
            "\n",
            "Based on the\n",
            "information provided, further assessment and diagnostic tests will be performed to determine the\n",
            "underlying cause of Mr. Anderson's abdominal pain.\"\n"
          ]
        }
      ],
      "source": [
        "query4 = \"Which patients require lab work?\"\n",
        "docs = vector_db.similarity_search(query4)\n",
        "print(textwrap.fill(str(docs[0].page_content), width=100, replace_whitespace=False))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "OgQuV5Zv6Be7"
      },
      "source": [
        "****\n",
        "Clear some memory before the next part (relevant for when opting for a locally hosted LLM):"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "L_70cf1K4aUD",
        "outputId": "47ce74fd-f4ce-45fd-b4c7-03623b92bb48"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "TextLoader 1072\n",
            "CharacterTextSplitter 1200\n",
            "HuggingFaceEmbeddings 1072\n",
            "FAISS 1200\n"
          ]
        }
      ],
      "source": [
        "import sys\n",
        "\n",
        "local_vars = list(locals().items())\n",
        "for var, obj in local_vars:\n",
        "  if(sys.getsizeof(obj)) > 999:\n",
        "    print(var, sys.getsizeof(obj))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "FC2RbDX938k9",
        "outputId": "24792b5b-1a5e-43a9-99c5-a6e032985a4b"
      },
      "outputs": [
        {
          "data": {
            "text/plain": [
              "18"
            ]
          },
          "execution_count": 20,
          "metadata": {},
          "output_type": "execute_result"
        }
      ],
      "source": [
        "import gc\n",
        "del CharacterTextSplitter\n",
        "del HuggingFaceEmbeddings\n",
        "del TextLoader\n",
        "del FAISS\n",
        "gc.collect()"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "9Jx4gx7iYyp0"
      },
      "source": [
        "****"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "oLSRUmQOY0nY"
      },
      "source": [
        "# The enahancement to the chapter 8 notebook: Setting up and LLM to process the requests\n",
        "We will now enhance that pipeline. We will not settle for the results of the similarity search and surface those to the physicians; we will take those results which were deemed to be similar in content to the request, and we will employ an LLM to go through these results, vet them, and tell us which ones are\n",
        "indeed relevant to the physician."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "oYVAJkBrlR0n",
        "outputId": "a50b64ff-3a3a-4a48-d040-b8dc6a75323b"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "Requirement already satisfied: openai in /usr/local/lib/python3.10/dist-packages (0.28.1)\n",
            "Collecting gpt4all==1.0.12\n",
            "  Downloading gpt4all-1.0.12-py3-none-manylinux1_x86_64.whl (6.0 MB)\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m6.0/6.0 MB\u001b[0m \u001b[31m18.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from gpt4all==1.0.12) (2.31.0)\n",
            "Requirement already satisfied: tqdm in /usr/local/lib/python3.10/dist-packages (from gpt4all==1.0.12) (4.66.2)\n",
            "Requirement already satisfied: aiohttp in /usr/local/lib/python3.10/dist-packages (from openai) (3.9.3)\n",
            "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->gpt4all==1.0.12) (3.3.2)\n",
            "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->gpt4all==1.0.12) (3.6)\n",
            "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->gpt4all==1.0.12) (2.0.7)\n",
            "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->gpt4all==1.0.12) (2024.2.2)\n",
            "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (1.3.1)\n",
            "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (23.2.0)\n",
            "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (1.4.1)\n",
            "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (6.0.5)\n",
            "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (1.9.4)\n",
            "Requirement already satisfied: async-timeout<5.0,>=4.0 in /usr/local/lib/python3.10/dist-packages (from aiohttp->openai) (4.0.3)\n",
            "Installing collected packages: gpt4all\n",
            "Successfully installed gpt4all-1.0.12\n"
          ]
        }
      ],
      "source": [
        "!pip -q install openai gpt4all==1.0.12"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "B2NgP795lksD",
        "outputId": "ed25a8b4-3184-47ba-df6e-23b91facf133"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "--2024-03-01 02:20:13--  https://huggingface.co/TheBloke/Nous-Hermes-13B-GGML/resolve/main/nous-hermes-13b.ggmlv3.q4_0.bin\n",
            "Resolving huggingface.co (huggingface.co)... 18.164.174.17, 18.164.174.118, 18.164.174.23, ...\n",
            "Connecting to huggingface.co (huggingface.co)|18.164.174.17|:443... connected.\n",
            "HTTP request sent, awaiting response... 302 Found\n",
            "Location: https://cdn-lfs.huggingface.co/repos/7e/26/7e26b3c7ced64f7024dbcce87fddd78a593c50c86955e5a756d14710387ada70/d1735b93e1dc503f1045ccd6c8bd73277b18ba892befd1dc29e9b9a7822ed998?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27nous-hermes-13b.ggmlv3.q4_0.bin%3B+filename%3D%22nous-hermes-13b.ggmlv3.q4_0.bin%22%3B&response-content-type=application%2Foctet-stream&Expires=1709518813&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwOTUxODgxM319LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy83ZS8yNi83ZTI2YjNjN2NlZDY0ZjcwMjRkYmNjZTg3ZmRkZDc4YTU5M2M1MGM4Njk1NWU1YTc1NmQxNDcxMDM4N2FkYTcwL2QxNzM1YjkzZTFkYzUwM2YxMDQ1Y2NkNmM4YmQ3MzI3N2IxOGJhODkyYmVmZDFkYzI5ZTliOWE3ODIyZWQ5OTg%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qJnJlc3BvbnNlLWNvbnRlbnQtdHlwZT0qIn1dfQ__&Signature=dWx6rgxlKtq0EuEmDqiZf6OGVnWHHtNdEPXUnYMe6BWMQXDGPSDiyGA5%7EKZs%7E6eq7bYmifJBQqWmOK-GNavJQsH9Ve3JrxSrf%7EqgP1NhVRXhi1%7EROEn16oRY-AU0ex8iZMan6xW%7ETBfscdPqPcE50iEwOniB1QJtJpjpdFFHIuvHERs0MvC-f8mSv8u39hJk%7EI4O3FZLkiW6VsTEbf0fbCbl3dFzShPBjmqWh9naLAzHFYOgcjor7a23BrwOnHKIpJG2OnCWBf8dGeo5yJCOoTN7O0njyOgbBaOyLL2q6mEPrQcQhikGZwGif71EFK49Vn0BVf5SteeLSRkuLibMjg__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n",
            "--2024-03-01 02:20:13--  https://cdn-lfs.huggingface.co/repos/7e/26/7e26b3c7ced64f7024dbcce87fddd78a593c50c86955e5a756d14710387ada70/d1735b93e1dc503f1045ccd6c8bd73277b18ba892befd1dc29e9b9a7822ed998?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27nous-hermes-13b.ggmlv3.q4_0.bin%3B+filename%3D%22nous-hermes-13b.ggmlv3.q4_0.bin%22%3B&response-content-type=application%2Foctet-stream&Expires=1709518813&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTcwOTUxODgxM319LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy83ZS8yNi83ZTI2YjNjN2NlZDY0ZjcwMjRkYmNjZTg3ZmRkZDc4YTU5M2M1MGM4Njk1NWU1YTc1NmQxNDcxMDM4N2FkYTcwL2QxNzM1YjkzZTFkYzUwM2YxMDQ1Y2NkNmM4YmQ3MzI3N2IxOGJhODkyYmVmZDFkYzI5ZTliOWE3ODIyZWQ5OTg%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qJnJlc3BvbnNlLWNvbnRlbnQtdHlwZT0qIn1dfQ__&Signature=dWx6rgxlKtq0EuEmDqiZf6OGVnWHHtNdEPXUnYMe6BWMQXDGPSDiyGA5%7EKZs%7E6eq7bYmifJBQqWmOK-GNavJQsH9Ve3JrxSrf%7EqgP1NhVRXhi1%7EROEn16oRY-AU0ex8iZMan6xW%7ETBfscdPqPcE50iEwOniB1QJtJpjpdFFHIuvHERs0MvC-f8mSv8u39hJk%7EI4O3FZLkiW6VsTEbf0fbCbl3dFzShPBjmqWh9naLAzHFYOgcjor7a23BrwOnHKIpJG2OnCWBf8dGeo5yJCOoTN7O0njyOgbBaOyLL2q6mEPrQcQhikGZwGif71EFK49Vn0BVf5SteeLSRkuLibMjg__&Key-Pair-Id=KVTP0A1DKRTAX\n",
            "Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 18.154.144.113, 18.154.144.90, 18.154.144.118, ...\n",
            "Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|18.154.144.113|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 7323310848 (6.8G) [application/octet-stream]\n",
            "Saving to: ‘nous-hermes-13b.ggmlv3.q4_0.bin’\n",
            "\n",
            "nous-hermes-13b.ggm 100%[===================>]   6.82G  27.2MB/s    in 3m 31s  \n",
            "\n",
            "2024-03-01 02:23:45 (33.1 MB/s) - ‘nous-hermes-13b.ggmlv3.q4_0.bin’ saved [7323310848/7323310848]\n",
            "\n"
          ]
        }
      ],
      "source": [
        "!wget https://huggingface.co/TheBloke/Nous-Hermes-13B-GGML/resolve/main/nous-hermes-13b.ggmlv3.q4_0.bin"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "TYPfX7HEFjNk"
      },
      "outputs": [],
      "source": [
        "import os\n",
        "import langchain\n",
        "from langchain.chains.question_answering import load_qa_chain\n",
        "from langchain import HuggingFaceHub\n",
        "from langchain.chat_models import ChatOpenAI\n",
        "from langchain.llms import GPT4All"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "SkX23K8tdDjC"
      },
      "source": [
        "### Setting up an LLM: Choose between a paid LLM (OpenAI's GPT) and a free LLM (from Hugging Face)"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "9PBWA0b1dSW9"
      },
      "outputs": [],
      "source": [
        "paid_vs_free = \"paid\"\n",
        "\n",
        "# The path to the GPT4all .bin file (this suits running in Google Colab):\n",
        "path_to_bin = \"/content/nous-hermes-13b.ggmlv3.q4_0.bin\"\n",
        "\n",
        "# The backend LLM:\n",
        "# \"gptj\", \"llama\", etc.\n",
        "backend_llm = \"llama\""
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "tcI741JYchzt",
        "outputId": "a840a755-f44b-4c4e-d31d-0fa22a1d1672"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The class `langchain_community.chat_models.openai.ChatOpenAI` was deprecated in langchain-community 0.0.10 and will be removed in 0.2.0. An updated version of the class exists in the langchain-openai package and should be used instead. To use it run `pip install -U langchain-openai` and import as `from langchain_openai import ChatOpenAI`.\n",
            "  warn_deprecated(\n"
          ]
        }
      ],
      "source": [
        "if paid_vs_free == \"paid\":\n",
        "  os.environ[\"OPENAI_API_KEY\"] = openai_api_key\n",
        "  llm = ChatOpenAI()\n",
        "elif paid_vs_free == \"free\":\n",
        "  llm = GPT4All(\n",
        "    model=path_to_bin,\n",
        "    max_tokens=1000,\n",
        "    # backend=backend_llm,\n",
        "    verbose=False)\n"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "QGbOUgLMZUDB"
      },
      "source": [
        "### Creating a QA chain\n",
        "`load_qa_chain()` sets up a RAG framework. It accepts various text documents and sets them up for retrieval.  \n",
        "It then considers the user prompt to identify the relevant text, surface it to the chosen LLM, for the LLM to respond to the prompt with the necessary context.  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "ksxfU8E_c6ly"
      },
      "outputs": [],
      "source": [
        "chain = load_qa_chain(llm, chain_type=\"stuff\")"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "Jw3QTq5_m39_"
      },
      "source": [
        "### Now search based on the same requirements but using the LLM as the \"brain\" instead of embeddings similarity"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "gxZjgu_5p7px"
      },
      "source": [
        "**Question #1: Are there any pregnant patients who are due to deliver in August?**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "OVv_Xbn1s8eH"
      },
      "outputs": [],
      "source": [
        "import langchain\n",
        "langchain.debug = True"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "vQ3SvO8mm4I5",
        "outputId": "50a7b3d6-b374-450d-82f8-dfbcd85cc28b"
      },
      "outputs": [
        {
          "name": "stderr",
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The function `run` was deprecated in LangChain 0.1.0 and will be removed in 0.2.0. Use invoke instead.\n",
            "  warn_deprecated(\n"
          ]
        },
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] Entering Chain run with input:\n",
            "\u001b[0m[inputs]\n",
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] Entering Chain run with input:\n",
            "\u001b[0m{\n",
            "  \"question\": \"Are there any pregnant patients who are due to deliver in August?\",\n",
            "  \"context\": \"Physician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\"\n",
            "}\n",
            "\u001b[32;1m\u001b[1;3m[llm/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] Entering LLM run with input:\n",
            "\u001b[0m{\n",
            "  \"prompts\": [\n",
            "    \"System: Use the following pieces of context to answer the user's question. \\nIf you don't know the answer, just say that you don't know, don't try to make up an answer.\\n----------------\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\nHuman: Are there any pregnant patients who are due to deliver in August?\"\n",
            "  ]\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[llm/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] [983ms] Exiting LLM run with output:\n",
            "\u001b[0m{\n",
            "  \"generations\": [\n",
            "    [\n",
            "      {\n",
            "        \"text\": \"Yes, Mrs. Emily Adams is a pregnant patient who is due to deliver in August. Her due date is August 27th, 2099.\",\n",
            "        \"generation_info\": {\n",
            "          \"finish_reason\": \"stop\",\n",
            "          \"logprobs\": null\n",
            "        },\n",
            "        \"type\": \"ChatGeneration\",\n",
            "        \"message\": {\n",
            "          \"lc\": 1,\n",
            "          \"type\": \"constructor\",\n",
            "          \"id\": [\n",
            "            \"langchain\",\n",
            "            \"schema\",\n",
            "            \"messages\",\n",
            "            \"AIMessage\"\n",
            "          ],\n",
            "          \"kwargs\": {\n",
            "            \"content\": \"Yes, Mrs. Emily Adams is a pregnant patient who is due to deliver in August. Her due date is August 27th, 2099.\",\n",
            "            \"additional_kwargs\": {}\n",
            "          }\n",
            "        }\n",
            "      }\n",
            "    ]\n",
            "  ],\n",
            "  \"llm_output\": {\n",
            "    \"token_usage\": {\n",
            "      \"prompt_tokens\": 1161,\n",
            "      \"completion_tokens\": 31,\n",
            "      \"total_tokens\": 1192\n",
            "    },\n",
            "    \"model_name\": \"gpt-3.5-turbo\",\n",
            "    \"system_fingerprint\": \"fp_2b778c6b35\"\n",
            "  },\n",
            "  \"run\": null\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] [985ms] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"text\": \"Yes, Mrs. Emily Adams is a pregnant patient who is due to deliver in August. Her due date is August 27th, 2099.\"\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] [1.01s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"output_text\": \"Yes, Mrs. Emily Adams is a pregnant patient who is due to deliver in August. Her due date is August 27th, 2099.\"\n",
            "}\n",
            "Yes, Mrs. Emily Adams is a pregnant patient who is due to deliver in August. Her due date is August 27th, 2099.\n"
          ]
        }
      ],
      "source": [
        "current_query = query1\n",
        "docs = vector_db.similarity_search(current_query)\n",
        "print(chain.run(input_documents=docs, question=current_query))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "mtJ4gn4wp9Tq"
      },
      "source": [
        "**[The LLM by OpenAI caught and avoided the MISTAKE!] Question #2: Are there any pregnant patients who are due to deliver in September?**  \n",
        "However, some free LLMs that are quantized, and thus \"suboptimal\" may fail and present the August delivery date as the answer, even though a September delivery date was requested."
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "D3HgLcgTpSCa",
        "outputId": "dba68373-2652-4daa-84e2-521a86f64631"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] Entering Chain run with input:\n",
            "\u001b[0m[inputs]\n",
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] Entering Chain run with input:\n",
            "\u001b[0m{\n",
            "  \"question\": \"Are there any pregnant patients who are due to deliver in September?\",\n",
            "  \"context\": \"Physician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\"\n",
            "}\n",
            "\u001b[32;1m\u001b[1;3m[llm/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] Entering LLM run with input:\n",
            "\u001b[0m{\n",
            "  \"prompts\": [\n",
            "    \"System: Use the following pieces of context to answer the user's question. \\nIf you don't know the answer, just say that you don't know, don't try to make up an answer.\\n----------------\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\nHuman: Are there any pregnant patients who are due to deliver in September?\"\n",
            "  ]\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[llm/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] [1.25s] Exiting LLM run with output:\n",
            "\u001b[0m{\n",
            "  \"generations\": [\n",
            "    [\n",
            "      {\n",
            "        \"text\": \"Based on the provided information, Mrs. Emily Adams is 32 weeks pregnant with a due date of August 27th, 2099. Therefore, she is expected to deliver in August, not September.\",\n",
            "        \"generation_info\": {\n",
            "          \"finish_reason\": \"stop\",\n",
            "          \"logprobs\": null\n",
            "        },\n",
            "        \"type\": \"ChatGeneration\",\n",
            "        \"message\": {\n",
            "          \"lc\": 1,\n",
            "          \"type\": \"constructor\",\n",
            "          \"id\": [\n",
            "            \"langchain\",\n",
            "            \"schema\",\n",
            "            \"messages\",\n",
            "            \"AIMessage\"\n",
            "          ],\n",
            "          \"kwargs\": {\n",
            "            \"content\": \"Based on the provided information, Mrs. Emily Adams is 32 weeks pregnant with a due date of August 27th, 2099. Therefore, she is expected to deliver in August, not September.\",\n",
            "            \"additional_kwargs\": {}\n",
            "          }\n",
            "        }\n",
            "      }\n",
            "    ]\n",
            "  ],\n",
            "  \"llm_output\": {\n",
            "    \"token_usage\": {\n",
            "      \"prompt_tokens\": 1161,\n",
            "      \"completion_tokens\": 42,\n",
            "      \"total_tokens\": 1203\n",
            "    },\n",
            "    \"model_name\": \"gpt-3.5-turbo\",\n",
            "    \"system_fingerprint\": \"fp_2b778c6b35\"\n",
            "  },\n",
            "  \"run\": null\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] [1.25s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"text\": \"Based on the provided information, Mrs. Emily Adams is 32 weeks pregnant with a due date of August 27th, 2099. Therefore, she is expected to deliver in August, not September.\"\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] [1.26s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"output_text\": \"Based on the provided information, Mrs. Emily Adams is 32 weeks pregnant with a due date of August 27th, 2099. Therefore, she is expected to deliver in August, not September.\"\n",
            "}\n",
            "Based on the provided information, Mrs. Emily Adams is 32 weeks pregnant with a due date of August 27th, 2099. Therefore, she is expected to deliver in August, not September.\n"
          ]
        }
      ],
      "source": [
        "current_query = query2\n",
        "docs = vector_db.similarity_search(current_query)\n",
        "print(chain.run(input_documents=docs, question=current_query))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "KaB8TLOap9xc"
      },
      "source": [
        "**Question #3: Which patients have travelled recently?**"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "NQFupT2LpSFX",
        "outputId": "c652e92f-adca-4341-90b7-5ca0a45a547a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] Entering Chain run with input:\n",
            "\u001b[0m[inputs]\n",
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] Entering Chain run with input:\n",
            "\u001b[0m{\n",
            "  \"question\": \"Which patients have travelled recently?\",\n",
            "  \"context\": \"Physician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\"\n",
            "}\n",
            "\u001b[32;1m\u001b[1;3m[llm/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] Entering LLM run with input:\n",
            "\u001b[0m{\n",
            "  \"prompts\": [\n",
            "    \"System: Use the following pieces of context to answer the user's question. \\nIf you don't know the answer, just say that you don't know, don't try to make up an answer.\\n----------------\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\nHuman: Which patients have travelled recently?\"\n",
            "  ]\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[llm/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] [1.06s] Exiting LLM run with output:\n",
            "\u001b[0m{\n",
            "  \"generations\": [\n",
            "    [\n",
            "      {\n",
            "        \"text\": \"Based on the information provided:\\n\\n- Mr. John Anderson traveled recently to Europe about two weeks ago.\\n- None of the other patients have reported recent travel outside of their local area.\",\n",
            "        \"generation_info\": {\n",
            "          \"finish_reason\": \"stop\",\n",
            "          \"logprobs\": null\n",
            "        },\n",
            "        \"type\": \"ChatGeneration\",\n",
            "        \"message\": {\n",
            "          \"lc\": 1,\n",
            "          \"type\": \"constructor\",\n",
            "          \"id\": [\n",
            "            \"langchain\",\n",
            "            \"schema\",\n",
            "            \"messages\",\n",
            "            \"AIMessage\"\n",
            "          ],\n",
            "          \"kwargs\": {\n",
            "            \"content\": \"Based on the information provided:\\n\\n- Mr. John Anderson traveled recently to Europe about two weeks ago.\\n- None of the other patients have reported recent travel outside of their local area.\",\n",
            "            \"additional_kwargs\": {}\n",
            "          }\n",
            "        }\n",
            "      }\n",
            "    ]\n",
            "  ],\n",
            "  \"llm_output\": {\n",
            "    \"token_usage\": {\n",
            "      \"prompt_tokens\": 1154,\n",
            "      \"completion_tokens\": 36,\n",
            "      \"total_tokens\": 1190\n",
            "    },\n",
            "    \"model_name\": \"gpt-3.5-turbo\",\n",
            "    \"system_fingerprint\": \"fp_86156a94a0\"\n",
            "  },\n",
            "  \"run\": null\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] [1.06s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"text\": \"Based on the information provided:\\n\\n- Mr. John Anderson traveled recently to Europe about two weeks ago.\\n- None of the other patients have reported recent travel outside of their local area.\"\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] [1.07s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"output_text\": \"Based on the information provided:\\n\\n- Mr. John Anderson traveled recently to Europe about two weeks ago.\\n- None of the other patients have reported recent travel outside of their local area.\"\n",
            "}\n",
            "Based on the information provided:\n",
            "\n",
            "- Mr. John Anderson traveled recently to Europe about two weeks ago.\n",
            "- None of the other patients have reported recent travel outside of their local area.\n"
          ]
        }
      ],
      "source": [
        "current_query = query3\n",
        "docs = vector_db.similarity_search(current_query)\n",
        "print(chain.run(input_documents=docs, question=current_query))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "59jii7MNp-kc"
      },
      "source": [
        "**Question #4: Which patients require lab work?**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "u73oC9DnpSID",
        "outputId": "cf33a8a5-c1ab-4966-a958-3fe30c1d050a"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] Entering Chain run with input:\n",
            "\u001b[0m[inputs]\n",
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] Entering Chain run with input:\n",
            "\u001b[0m{\n",
            "  \"question\": \"Which patients require lab work?\",\n",
            "  \"context\": \"Physician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\"\n",
            "}\n",
            "\u001b[32;1m\u001b[1;3m[llm/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] Entering LLM run with input:\n",
            "\u001b[0m{\n",
            "  \"prompts\": [\n",
            "    \"System: Use the following pieces of context to answer the user's question. \\nIf you don't know the answer, just say that you don't know, don't try to make up an answer.\\n----------------\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\nHuman: Which patients require lab work?\"\n",
            "  ]\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[llm/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] [2.14s] Exiting LLM run with output:\n",
            "\u001b[0m{\n",
            "  \"generations\": [\n",
            "    [\n",
            "      {\n",
            "        \"text\": \"Based on the information provided, patients who may require lab work are:\\n1. Mr. John Anderson: To determine the underlying cause of his abdominal pain.\\n2. Ms. Sarah Thompson: To investigate potential causes for her fatigue and joint pain.\\n3. Mr. Michael Johnson: To manage his migraine headaches and potentially identify triggers.\\n\\nFor Mrs. Emily Adams, a routine prenatal examination is mentioned, which may include blood tests as part of prenatal care, but specific lab work is not explicitly stated in the context provided.\",\n",
            "        \"generation_info\": {\n",
            "          \"finish_reason\": \"stop\",\n",
            "          \"logprobs\": null\n",
            "        },\n",
            "        \"type\": \"ChatGeneration\",\n",
            "        \"message\": {\n",
            "          \"lc\": 1,\n",
            "          \"type\": \"constructor\",\n",
            "          \"id\": [\n",
            "            \"langchain\",\n",
            "            \"schema\",\n",
            "            \"messages\",\n",
            "            \"AIMessage\"\n",
            "          ],\n",
            "          \"kwargs\": {\n",
            "            \"content\": \"Based on the information provided, patients who may require lab work are:\\n1. Mr. John Anderson: To determine the underlying cause of his abdominal pain.\\n2. Ms. Sarah Thompson: To investigate potential causes for her fatigue and joint pain.\\n3. Mr. Michael Johnson: To manage his migraine headaches and potentially identify triggers.\\n\\nFor Mrs. Emily Adams, a routine prenatal examination is mentioned, which may include blood tests as part of prenatal care, but specific lab work is not explicitly stated in the context provided.\",\n",
            "            \"additional_kwargs\": {}\n",
            "          }\n",
            "        }\n",
            "      }\n",
            "    ]\n",
            "  ],\n",
            "  \"llm_output\": {\n",
            "    \"token_usage\": {\n",
            "      \"prompt_tokens\": 1154,\n",
            "      \"completion_tokens\": 103,\n",
            "      \"total_tokens\": 1257\n",
            "    },\n",
            "    \"model_name\": \"gpt-3.5-turbo\",\n",
            "    \"system_fingerprint\": \"fp_86156a94a0\"\n",
            "  },\n",
            "  \"run\": null\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] [2.14s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"text\": \"Based on the information provided, patients who may require lab work are:\\n1. Mr. John Anderson: To determine the underlying cause of his abdominal pain.\\n2. Ms. Sarah Thompson: To investigate potential causes for her fatigue and joint pain.\\n3. Mr. Michael Johnson: To manage his migraine headaches and potentially identify triggers.\\n\\nFor Mrs. Emily Adams, a routine prenatal examination is mentioned, which may include blood tests as part of prenatal care, but specific lab work is not explicitly stated in the context provided.\"\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] [2.14s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"output_text\": \"Based on the information provided, patients who may require lab work are:\\n1. Mr. John Anderson: To determine the underlying cause of his abdominal pain.\\n2. Ms. Sarah Thompson: To investigate potential causes for her fatigue and joint pain.\\n3. Mr. Michael Johnson: To manage his migraine headaches and potentially identify triggers.\\n\\nFor Mrs. Emily Adams, a routine prenatal examination is mentioned, which may include blood tests as part of prenatal care, but specific lab work is not explicitly stated in the context provided.\"\n",
            "}\n",
            "Based on the information provided, patients who may require lab work are:\n",
            "1. Mr. John Anderson: To determine the underlying cause of his abdominal pain.\n",
            "2. Ms. Sarah Thompson: To investigate potential causes for her fatigue and joint pain.\n",
            "3. Mr. Michael Johnson: To manage his migraine headaches and potentially identify triggers.\n",
            "\n",
            "For Mrs. Emily Adams, a routine prenatal examination is mentioned, which may include blood tests as part of prenatal care, but specific lab work is not explicitly stated in the context provided.\n"
          ]
        }
      ],
      "source": [
        "current_query = query4\n",
        "docs = vector_db.similarity_search(current_query)\n",
        "print(chain.run(input_documents=docs, question=current_query))"
      ]
    },
    {
      "attachments": {},
      "cell_type": "markdown",
      "metadata": {
        "id": "xXRqvbePqhNv"
      },
      "source": [
        "**Refining question #4: Which patients *explicitly* require lab work?**  "
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "HG_aQEqUpnby",
        "outputId": "35b50bee-a56d-4481-e6a9-b233a496e799"
      },
      "outputs": [
        {
          "name": "stdout",
          "output_type": "stream",
          "text": [
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] Entering Chain run with input:\n",
            "\u001b[0m[inputs]\n",
            "\u001b[32;1m\u001b[1;3m[chain/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] Entering Chain run with input:\n",
            "\u001b[0m{\n",
            "  \"question\": \"Which patients explicitly require lab work?\",\n",
            "  \"context\": \"Physician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\"\n",
            "}\n",
            "\u001b[32;1m\u001b[1;3m[llm/start]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] Entering LLM run with input:\n",
            "\u001b[0m{\n",
            "  \"prompts\": [\n",
            "    \"System: Use the following pieces of context to answer the user's question. \\nIf you don't know the answer, just say that you don't know, don't try to make up an answer.\\n----------------\\nPhysician Name: Dr. ABC\\nDate: July 10, 2099\\nPatient ID: 246813579\\nChief Complaint: Pregnancy Follow-up\\n\\nHistory of Present Illness:\\nThe patient, Mrs. Emily Adams, a 30-year-old female, presents today for a routine pregnancy follow-up. She is currently 32 weeks pregnant, with a due date of August 27th, 2099. Mrs. Adams is married and lives with her husband.\\n\\nDuring the evaluation, Mrs. Adams reveals a family history of gestational diabetes, with her mother having developed the condition during her own pregnancies. She mentions no personal history of significant medical conditions, surgeries, or complications in previous pregnancies.\\n\\nRegarding her chief complaint, Mrs. Adams reports typical discomforts associated with the third trimester of pregnancy, including backache, frequent urination, and occasional heartburn. She denies any vaginal bleeding, severe abdominal pain, or significant changes in fetal movements. Mrs. Adams mentions adhering to a well-balanced diet and regular exercise routine to maintain her overall health during pregnancy.\\n\\nBased on the information provided, a routine prenatal examination will be conducted to monitor the progress of Mrs. Adams' pregnancy. This will include assessing her blood pressure, weight gain, fundal height measurement, and fetal heart rate monitoring. Discussions about childbirth preparation, breastfeeding, and postnatal care will also be addressed to ensure a healthy and smooth transition into motherhood.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: June 25, 2099\\nPatient ID: 987654321\\nChief Complaint: Abdominal pain\\n\\nHistory of Present Illness:\\nThe patient, Mr. John Anderson, a 42-year-old male, presents today with a chief complaint of abdominal pain. He is married and resides with his wife and two children. Mr. Anderson recently returned from a business trip to Europe about two weeks ago. He denies any respiratory symptoms or exposure to sick individuals during his travel.\\n\\nDuring the evaluation, Mr. Anderson revealed a pertinent family history of cardiovascular disease, with his father having suffered a myocardial infarction in his 60s. He also reports that his maternal grandmother had type 2 diabetes. Mr. Anderson denies any personal history of chronic illnesses, surgeries, or hospitalizations.\\n\\nRegarding his chief complaint, Mr. Anderson describes the abdominal pain as a dull, intermittent ache located in the lower right quadrant. He rates the pain as 5 out of 10 in severity. The pain is exacerbated by physical activity and seems to worsen after meals. He denies any associated symptoms such as nausea, vomiting, or changes in bowel movements.\\n\\nBased on the information provided, further assessment and diagnostic tests will be performed to determine the underlying cause of Mr. Anderson's abdominal pain.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 15, 2099\\nPatient ID: 123456789\\nChief Complaint: Fatigue and joint pain\\n\\nHistory of Present Illness:\\nThe patient, Ms. Sarah Thompson, a 57-year-old female, presents today with complaints of fatigue and joint pain. Ms. Thompson is widowed and lives alone. She has no recent history of travel outside the country.\\n\\nDuring the evaluation, Ms. Thompson reveals a pertinent family history of autoimmune diseases, with her sister being diagnosed with rheumatoid arthritis. She also reports a personal history of hypothyroidism, which is being managed with thyroid hormone replacement therapy.\\n\\nRegarding her chief complaint, Ms. Thompson describes the fatigue as persistent and overwhelming, affecting her ability to perform daily activities. She rates her fatigue as 8 out of 10 in severity. Additionally, she reports joint pain primarily in her knees and wrists, which is worse in the morning and improves with movement throughout the day. She denies any swelling or redness in the affected joints.\\n\\nGiven the clinical presentation, further investigation will be carried out to explore potential causes for Ms. Thompson's fatigue and joint pain. This may include laboratory tests, imaging studies, and consultation with specialists as necessary.\\\"\\n\\nPhysician Name: Dr. ABC\\nDate: November 28, 2099\\nPatient ID: 987654321\\nChief Complaint: Migraine Headaches\\n\\nHistory of Present Illness:\\nTitle: Mocked up record\\nThe patient, Mr. Michael Johnson, a 40-year-old male, presents today with a chief complaint of recurring migraine headaches. He is married and lives with his spouse and two children. Mr. Johnson has not traveled recently outside of his local area.\\n\\nDuring the evaluation, Mr. Johnson reports a family history of migraine headaches, with his mother and sister both experiencing similar symptoms. He denies any significant past medical conditions, surgeries, or hospitalizations. He mentions occasional stress and irregular sleep patterns due to his demanding work schedule.\\n\\nRegarding his chief complaint, Mr. Johnson describes his headaches as recurrent episodes of moderate to severe throbbing pain, usually localized to one side of his head. He experiences associated symptoms such as sensitivity to light and sound, as well as nausea and occasional vomiting. The migraines typically last for several hours and occur once or twice a month.\\n\\nBased on the information provided, further assessment will be conducted to manage Mr. Johnson's migraines. A detailed headache diary will be recommended to track the frequency, duration, and associated triggers of his headaches. Lifestyle modifications, stress management techniques, and targeted medications will be discussed to alleviate his symptoms and improve his quality of life.\\\"\\nHuman: Which patients explicitly require lab work?\"\n",
            "  ]\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[llm/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain > 3:llm:ChatOpenAI] [1.53s] Exiting LLM run with output:\n",
            "\u001b[0m{\n",
            "  \"generations\": [\n",
            "    [\n",
            "      {\n",
            "        \"text\": \"Based on the provided information, patients who explicitly require lab work are:\\n\\n1. Patient ID: 123456789 (Ms. Sarah Thompson) presenting with complaints of fatigue and joint pain. Further investigation, which may include laboratory tests, will be carried out to explore potential causes for her symptoms.\\n\\nUnfortunately, the other cases do not explicitly mention the need for lab work in their histories.\",\n",
            "        \"generation_info\": {\n",
            "          \"finish_reason\": \"stop\",\n",
            "          \"logprobs\": null\n",
            "        },\n",
            "        \"type\": \"ChatGeneration\",\n",
            "        \"message\": {\n",
            "          \"lc\": 1,\n",
            "          \"type\": \"constructor\",\n",
            "          \"id\": [\n",
            "            \"langchain\",\n",
            "            \"schema\",\n",
            "            \"messages\",\n",
            "            \"AIMessage\"\n",
            "          ],\n",
            "          \"kwargs\": {\n",
            "            \"content\": \"Based on the provided information, patients who explicitly require lab work are:\\n\\n1. Patient ID: 123456789 (Ms. Sarah Thompson) presenting with complaints of fatigue and joint pain. Further investigation, which may include laboratory tests, will be carried out to explore potential causes for her symptoms.\\n\\nUnfortunately, the other cases do not explicitly mention the need for lab work in their histories.\",\n",
            "            \"additional_kwargs\": {}\n",
            "          }\n",
            "        }\n",
            "      }\n",
            "    ]\n",
            "  ],\n",
            "  \"llm_output\": {\n",
            "    \"token_usage\": {\n",
            "      \"prompt_tokens\": 1155,\n",
            "      \"completion_tokens\": 77,\n",
            "      \"total_tokens\": 1232\n",
            "    },\n",
            "    \"model_name\": \"gpt-3.5-turbo\",\n",
            "    \"system_fingerprint\": \"fp_2b778c6b35\"\n",
            "  },\n",
            "  \"run\": null\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain > 2:chain:LLMChain] [1.53s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"text\": \"Based on the provided information, patients who explicitly require lab work are:\\n\\n1. Patient ID: 123456789 (Ms. Sarah Thompson) presenting with complaints of fatigue and joint pain. Further investigation, which may include laboratory tests, will be carried out to explore potential causes for her symptoms.\\n\\nUnfortunately, the other cases do not explicitly mention the need for lab work in their histories.\"\n",
            "}\n",
            "\u001b[36;1m\u001b[1;3m[chain/end]\u001b[0m \u001b[1m[1:chain:StuffDocumentsChain] [1.53s] Exiting Chain run with output:\n",
            "\u001b[0m{\n",
            "  \"output_text\": \"Based on the provided information, patients who explicitly require lab work are:\\n\\n1. Patient ID: 123456789 (Ms. Sarah Thompson) presenting with complaints of fatigue and joint pain. Further investigation, which may include laboratory tests, will be carried out to explore potential causes for her symptoms.\\n\\nUnfortunately, the other cases do not explicitly mention the need for lab work in their histories.\"\n",
            "}\n",
            "Based on the provided information, patients who explicitly require lab work are:\n",
            "\n",
            "1. Patient ID: 123456789 (Ms. Sarah Thompson) presenting with complaints of fatigue and joint pain. Further investigation, which may include laboratory tests, will be carried out to explore potential causes for her symptoms.\n",
            "\n",
            "Unfortunately, the other cases do not explicitly mention the need for lab work in their histories.\n"
          ]
        }
      ],
      "source": [
        "current_query = \"Which patients explicitly require lab work?\"\n",
        "docs = vector_db.similarity_search(current_query)\n",
        "print(chain.run(input_documents=docs, question=current_query))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "m5l4hqhlsv4Z"
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "colab": {
      "provenance": [],
      "toc_visible": true
    },
    "kernelspec": {
      "display_name": "Python 3",
      "name": "python3"
    },
    "language_info": {
      "name": "python"
    },
    "widgets": {
      "application/vnd.jupyter.widget-state+json": {
        "009614dc00854d49b7efe7cbc622d0e6": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_c8d52eb872dc46aca625ee1e19ecc66a",
              "IPY_MODEL_a70b13691782416b99aa872e859f22d5",
              "IPY_MODEL_9b03d73a79cd40c9a0e254b484f3c694"
            ],
            "layout": "IPY_MODEL_9c14bb3ffac6416baf5569dd46b3dbdc"
          }
        },
        "02e23119b81b4fb0b128b478f612127f": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0690f2bd7d5d4de29a2b779ae46fe2d5": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_21cce9705db548f481808b1355612abb",
              "IPY_MODEL_2f6c7c873dca43a8a9804e0b77ea8483",
              "IPY_MODEL_2e86a3ad21334e42a6d55b4c346ebd05"
            ],
            "layout": "IPY_MODEL_a87146570b7d4d7a9bbdc53dd75c090e"
          }
        },
        "0944f3a550214830bd38478722d09979": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0c610945660b4583a9ee6a0a4826280e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0e51e076d2f444ad8c5137f8b4a077da": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0e53d0b2fa1742e8acdeb30af57c9eb1": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "0fa6519c13364cb0914338a34593bb4a": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "109a725507a64ec39a3415a5a234b5ac": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_f8e2d1d09e8b49e89f5c876f17a937bc",
            "max": 231536,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_52b0756d15e14244bce2ffc84738583c",
            "value": 231536
          }
        },
        "17671567440d49e8aeb8ebbfa5c0cdac": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "18a0be8f34f543fead9b90607b3ee3e1": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_9d333efaa60548f993d04318113a5c65",
            "max": 10621,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_c397737f7ab44094a506518c43c2c565",
            "value": 10621
          }
        },
        "1933eed6baaa4ae280bd221decbd0b7e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1b60c486282b4f05abe3dfe5c52bd061": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1bb4041857fc473d99344bfc22dfa110": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d974f24662c8443bb656734b91b7dfce",
            "placeholder": "​",
            "style": "IPY_MODEL_598cb094eb2d4737a7f47abe6eb87426",
            "value": " 466k/466k [00:00&lt;00:00, 3.59MB/s]"
          }
        },
        "1cc43f6715e648df98fa53d288b6b667": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "1e1b44e564454620a150dde4a3906b1a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_fb2962a806b544acb0a8baf3a202c723",
            "placeholder": "​",
            "style": "IPY_MODEL_b5998f9a16c14f399172a277382da8f9",
            "value": " 438M/438M [00:03&lt;00:00, 174MB/s]"
          }
        },
        "21cce9705db548f481808b1355612abb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ada520522270448c99215caa41150b81",
            "placeholder": "​",
            "style": "IPY_MODEL_e7cc96e40c6c4584ac5a5ba7e7236f9d",
            "value": "tokenizer_config.json: 100%"
          }
        },
        "270f43f66bba4f9483f06751b2986a49": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "28315ffd02b245fab5ce0a854fcc114b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0c610945660b4583a9ee6a0a4826280e",
            "placeholder": "​",
            "style": "IPY_MODEL_b8fcf772e0dd4f318d63620ce1a6a7f6",
            "value": "README.md: 100%"
          }
        },
        "28b9b0106f624764868a1103910dac8e": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ef591a0d13104b1f864bc0a91c3c6ed4",
            "placeholder": "​",
            "style": "IPY_MODEL_c00f0d632d764c9c8490eae3af3c9200",
            "value": " 10.6k/10.6k [00:00&lt;00:00, 589kB/s]"
          }
        },
        "294309b77ab4450ba7654023434db8fa": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "2a2078829ee24bbebf1343aba4cb361b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "2c07d280e7a9447cbaac20744541ff38": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_9a986d92068f4dc5a14ca1342cc3ea1c",
              "IPY_MODEL_9aaf447278044755a098278649517db2",
              "IPY_MODEL_510ef40d93114501a08718bb48ccd506"
            ],
            "layout": "IPY_MODEL_5e52a00d776740b695b123b003851d7c"
          }
        },
        "2c20ed7107974d32ac1461f3abdc5e53": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0944f3a550214830bd38478722d09979",
            "placeholder": "​",
            "style": "IPY_MODEL_f410d1bc25ea417c86172e04e6d58fce",
            "value": " 190/190 [00:00&lt;00:00, 8.37kB/s]"
          }
        },
        "2e86a3ad21334e42a6d55b4c346ebd05": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_cfb6b76f4e204b9891917aa6620f1008",
            "placeholder": "​",
            "style": "IPY_MODEL_b3a2b60388814306a7d98d6f3317b7ca",
            "value": " 363/363 [00:00&lt;00:00, 21.7kB/s]"
          }
        },
        "2f6c7c873dca43a8a9804e0b77ea8483": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0e53d0b2fa1742e8acdeb30af57c9eb1",
            "max": 363,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_742f40a81cd24baaa81c16640f898719",
            "value": 363
          }
        },
        "31d0f1988cfa4647b70c3ee8c5cb626a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_0fa6519c13364cb0914338a34593bb4a",
            "placeholder": "​",
            "style": "IPY_MODEL_a8bae23e72ba4c00ba78a8cd2dd7d6bf",
            "value": "sentence_bert_config.json: 100%"
          }
        },
        "362d188ac22e493f860be2faa64c784c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "37e533fddfdd4716a4e62cdc249380bd": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3cc83cd49f1142f0b24ceaab5ac9d950": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "3d576db863cd42e8ae25e8b032bd3e09": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_53e32192b5514380a0b2b9d8ab712dd2",
            "max": 349,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_9a90fce6165a45a88da1242b86b1bfe3",
            "value": 349
          }
        },
        "3f95cca13d054af3adcf6fa8a2864ea9": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "441d55c9d10142f3b303e2bfb540dffd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "48523efe26c34e339ae5d9599064f9c0": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "4b4e1afc246b4aada53805bdd11c41da": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "4d2c83dd05ee4db9b90dbc09c1c7f229": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_270f43f66bba4f9483f06751b2986a49",
            "max": 466021,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_810f56668cc345c6b8e181c876e28493",
            "value": 466021
          }
        },
        "510ef40d93114501a08718bb48ccd506": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_dbcbd02c35954fd0b3e908ccbf7a60ea",
            "placeholder": "​",
            "style": "IPY_MODEL_f5e45e7589aa4636aa9638139882e13a",
            "value": " 571/571 [00:00&lt;00:00, 49.1kB/s]"
          }
        },
        "52972b905578479884f83347a1e76cbe": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_69fa8f59fbf04e3c8a9316625e3cd0e5",
            "placeholder": "​",
            "style": "IPY_MODEL_d59a8156ff1d4ccfba4479eadd2ad16c",
            "value": " 116/116 [00:00&lt;00:00, 11.4kB/s]"
          }
        },
        "52b0756d15e14244bce2ffc84738583c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "53e32192b5514380a0b2b9d8ab712dd2": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "598cb094eb2d4737a7f47abe6eb87426": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5c9ad4a02529437689e0b88c7cadc6b9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_926881c7626f4ccea667b9ebea12e4d2",
              "IPY_MODEL_109a725507a64ec39a3415a5a234b5ac",
              "IPY_MODEL_faaca488244745cb812a7edb3148b33b"
            ],
            "layout": "IPY_MODEL_c47053b0f5eb4b3eb38c238a61f28c6f"
          }
        },
        "5ddef4acae5a42e3a93539e351b33f9b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "5e52a00d776740b695b123b003851d7c": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "69e82eb51af5428c82a71e815b9647ab": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "69fa8f59fbf04e3c8a9316625e3cd0e5": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "6d9ed85c28344bb9914855720b34f587": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_31d0f1988cfa4647b70c3ee8c5cb626a",
              "IPY_MODEL_93342ab35b1b4ce999c490dbfe9276d3",
              "IPY_MODEL_8672b86e4eb84e84bcbaf3389ade5f2e"
            ],
            "layout": "IPY_MODEL_0e51e076d2f444ad8c5137f8b4a077da"
          }
        },
        "742f40a81cd24baaa81c16640f898719": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "77a3501763124923bc6df9a753009adb": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_8b49c6d1f00843d5a83c6fe411a8d215",
            "placeholder": "​",
            "style": "IPY_MODEL_362d188ac22e493f860be2faa64c784c",
            "value": " 349/349 [00:00&lt;00:00, 23.6kB/s]"
          }
        },
        "793cc358094d40779096291e857c16ec": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_d545db0a276348aca968da0708699848",
              "IPY_MODEL_ac4284949c994690b314531a98ebd881",
              "IPY_MODEL_1e1b44e564454620a150dde4a3906b1a"
            ],
            "layout": "IPY_MODEL_b033da2df3e34947b0c8bde591ce4a2d"
          }
        },
        "810f56668cc345c6b8e181c876e28493": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "8672b86e4eb84e84bcbaf3389ade5f2e": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_17671567440d49e8aeb8ebbfa5c0cdac",
            "placeholder": "​",
            "style": "IPY_MODEL_f8d9cc13e7024f63956233f7c7c2c60d",
            "value": " 53.0/53.0 [00:00&lt;00:00, 4.70kB/s]"
          }
        },
        "8b49c6d1f00843d5a83c6fe411a8d215": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "8e6e80a810a2403c998fd5ad02dcae33": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "8f89d0a799d6417f9c6ddc9583bece55": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "926881c7626f4ccea667b9ebea12e4d2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a2665f4be6b34f539201ed6305437534",
            "placeholder": "​",
            "style": "IPY_MODEL_b21dee0764754aadb4b641543ea7f911",
            "value": "vocab.txt: 100%"
          }
        },
        "92aeb0e392ca435ea3f7849d5236d33f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "93342ab35b1b4ce999c490dbfe9276d3": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_4b4e1afc246b4aada53805bdd11c41da",
            "max": 53,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_8f89d0a799d6417f9c6ddc9583bece55",
            "value": 53
          }
        },
        "95911db5cd6b4c55b20b0f3f9bae029f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_294309b77ab4450ba7654023434db8fa",
            "placeholder": "​",
            "style": "IPY_MODEL_5ddef4acae5a42e3a93539e351b33f9b",
            "value": "modules.json: 100%"
          }
        },
        "969d48140e6945aa8e8d5923c4409c7d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "974edb8eb696493e93c2495ed3c009d7": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9842fd86709d475b9f0f0a3b5e6574c9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "999789464e524407bdbe83f6409b1015": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_a80d862e8c994982a0350b596aa82106",
            "placeholder": "​",
            "style": "IPY_MODEL_b5c37c3e7bb345269ebafc0e7c9e3376",
            "value": "config_sentence_transformers.json: 100%"
          }
        },
        "9a90fce6165a45a88da1242b86b1bfe3": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "9a986d92068f4dc5a14ca1342cc3ea1c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3cc83cd49f1142f0b24ceaab5ac9d950",
            "placeholder": "​",
            "style": "IPY_MODEL_ac15f1ffb06d4d72b5eb7856d2ea18ce",
            "value": "config.json: 100%"
          }
        },
        "9aaf447278044755a098278649517db2": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1b60c486282b4f05abe3dfe5c52bd061",
            "max": 571,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_f4c44067d4ad412a9bb723c0d8a1cfed",
            "value": 571
          }
        },
        "9b03d73a79cd40c9a0e254b484f3c694": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_adb8b66a3a1745babb98b6d7ae578a34",
            "placeholder": "​",
            "style": "IPY_MODEL_bd0452f1e910422c99f7d51bbbd2add1",
            "value": " 239/239 [00:00&lt;00:00, 13.9kB/s]"
          }
        },
        "9c14bb3ffac6416baf5569dd46b3dbdc": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "9c4c5e87d241458b8c0a5ecb428b357f": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_95911db5cd6b4c55b20b0f3f9bae029f",
              "IPY_MODEL_3d576db863cd42e8ae25e8b032bd3e09",
              "IPY_MODEL_77a3501763124923bc6df9a753009adb"
            ],
            "layout": "IPY_MODEL_1933eed6baaa4ae280bd221decbd0b7e"
          }
        },
        "9c6c6f2a077943848a05c51f793dbc8c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_ee829b2e843b46d6b9c56a59501360a9",
              "IPY_MODEL_4d2c83dd05ee4db9b90dbc09c1c7f229",
              "IPY_MODEL_1bb4041857fc473d99344bfc22dfa110"
            ],
            "layout": "IPY_MODEL_69e82eb51af5428c82a71e815b9647ab"
          }
        },
        "9d333efaa60548f993d04318113a5c65": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a2665f4be6b34f539201ed6305437534": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a70b13691782416b99aa872e859f22d5": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_c5d05d7a56394500af291aed4fb14617",
            "max": 239,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_441d55c9d10142f3b303e2bfb540dffd",
            "value": 239
          }
        },
        "a80d862e8c994982a0350b596aa82106": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a87146570b7d4d7a9bbdc53dd75c090e": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "a8bae23e72ba4c00ba78a8cd2dd7d6bf": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "aa6b350c2e444594a7c9e4ea67188b04": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ac15f1ffb06d4d72b5eb7856d2ea18ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ac4284949c994690b314531a98ebd881": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_37e533fddfdd4716a4e62cdc249380bd",
            "max": 438011953,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_92aeb0e392ca435ea3f7849d5236d33f",
            "value": 438011953
          }
        },
        "ac56db1aec8440bf94cffb54a79052bd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_3f95cca13d054af3adcf6fa8a2864ea9",
            "max": 116,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_969d48140e6945aa8e8d5923c4409c7d",
            "value": 116
          }
        },
        "ada520522270448c99215caa41150b81": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "adb8b66a3a1745babb98b6d7ae578a34": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b033da2df3e34947b0c8bde591ce4a2d": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b0513852366b4507bf191ca6d3e480b1": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "b21dee0764754aadb4b641543ea7f911": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b3a2b60388814306a7d98d6f3317b7ca": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b5998f9a16c14f399172a277382da8f9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b5c37c3e7bb345269ebafc0e7c9e3376": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "b77ed607d5f74121b8dcd69e4df61e5e": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_999789464e524407bdbe83f6409b1015",
              "IPY_MODEL_ac56db1aec8440bf94cffb54a79052bd",
              "IPY_MODEL_52972b905578479884f83347a1e76cbe"
            ],
            "layout": "IPY_MODEL_e6480d0be99b4cd5ad921e9c625a54a4"
          }
        },
        "b8fcf772e0dd4f318d63620ce1a6a7f6": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "bd0452f1e910422c99f7d51bbbd2add1": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c00f0d632d764c9c8490eae3af3c9200": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "c397737f7ab44094a506518c43c2c565": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "c47053b0f5eb4b3eb38c238a61f28c6f": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c5d05d7a56394500af291aed4fb14617": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "c8d52eb872dc46aca625ee1e19ecc66a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_1cc43f6715e648df98fa53d288b6b667",
            "placeholder": "​",
            "style": "IPY_MODEL_2a2078829ee24bbebf1343aba4cb361b",
            "value": "special_tokens_map.json: 100%"
          }
        },
        "cb891dbbc7bc4e039d0e56861afde41b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "cc3334e9fcea42beac2c3447357475a5": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_f20b901157844e1b9edfd4a839d2e29c",
              "IPY_MODEL_f1bec6915e1243dc80f556c69383fecd",
              "IPY_MODEL_2c20ed7107974d32ac1461f3abdc5e53"
            ],
            "layout": "IPY_MODEL_aa6b350c2e444594a7c9e4ea67188b04"
          }
        },
        "cfb6b76f4e204b9891917aa6620f1008": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d46c7d32d0bf49f1989151c6bfa68af2": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "d4b975b3ca0d433d802cc152865546ce": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d545db0a276348aca968da0708699848": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_d46c7d32d0bf49f1989151c6bfa68af2",
            "placeholder": "​",
            "style": "IPY_MODEL_cb891dbbc7bc4e039d0e56861afde41b",
            "value": "pytorch_model.bin: 100%"
          }
        },
        "d59a8156ff1d4ccfba4479eadd2ad16c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "d974f24662c8443bb656734b91b7dfce": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "dbcbd02c35954fd0b3e908ccbf7a60ea": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "dd454c34ca70429d90e16248b04b9747": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HBoxModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HBoxModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HBoxView",
            "box_style": "",
            "children": [
              "IPY_MODEL_28315ffd02b245fab5ce0a854fcc114b",
              "IPY_MODEL_18a0be8f34f543fead9b90607b3ee3e1",
              "IPY_MODEL_28b9b0106f624764868a1103910dac8e"
            ],
            "layout": "IPY_MODEL_f14b8ea8b89d44bb8ec8570385107088"
          }
        },
        "e6480d0be99b4cd5ad921e9c625a54a4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "e7cc96e40c6c4584ac5a5ba7e7236f9d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "ee829b2e843b46d6b9c56a59501360a9": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_974edb8eb696493e93c2495ed3c009d7",
            "placeholder": "​",
            "style": "IPY_MODEL_48523efe26c34e339ae5d9599064f9c0",
            "value": "tokenizer.json: 100%"
          }
        },
        "ef591a0d13104b1f864bc0a91c3c6ed4": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "ef881a346dab4b5488530375b3ebb9d9": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f14b8ea8b89d44bb8ec8570385107088": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "f1bec6915e1243dc80f556c69383fecd": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "FloatProgressModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "FloatProgressModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "ProgressView",
            "bar_style": "success",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_02e23119b81b4fb0b128b478f612127f",
            "max": 190,
            "min": 0,
            "orientation": "horizontal",
            "style": "IPY_MODEL_8e6e80a810a2403c998fd5ad02dcae33",
            "value": 190
          }
        },
        "f20b901157844e1b9edfd4a839d2e29c": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_b0513852366b4507bf191ca6d3e480b1",
            "placeholder": "​",
            "style": "IPY_MODEL_9842fd86709d475b9f0f0a3b5e6574c9",
            "value": "1_Pooling/config.json: 100%"
          }
        },
        "f410d1bc25ea417c86172e04e6d58fce": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f4c44067d4ad412a9bb723c0d8a1cfed": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "ProgressStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "ProgressStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "bar_color": null,
            "description_width": ""
          }
        },
        "f5e45e7589aa4636aa9638139882e13a": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f8d9cc13e7024f63956233f7c7c2c60d": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "DescriptionStyleModel",
          "state": {
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "DescriptionStyleModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "StyleView",
            "description_width": ""
          }
        },
        "f8e2d1d09e8b49e89f5c876f17a937bc": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        },
        "faaca488244745cb812a7edb3148b33b": {
          "model_module": "@jupyter-widgets/controls",
          "model_module_version": "1.5.0",
          "model_name": "HTMLModel",
          "state": {
            "_dom_classes": [],
            "_model_module": "@jupyter-widgets/controls",
            "_model_module_version": "1.5.0",
            "_model_name": "HTMLModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/controls",
            "_view_module_version": "1.5.0",
            "_view_name": "HTMLView",
            "description": "",
            "description_tooltip": null,
            "layout": "IPY_MODEL_ef881a346dab4b5488530375b3ebb9d9",
            "placeholder": "​",
            "style": "IPY_MODEL_d4b975b3ca0d433d802cc152865546ce",
            "value": " 232k/232k [00:00&lt;00:00, 3.33MB/s]"
          }
        },
        "fb2962a806b544acb0a8baf3a202c723": {
          "model_module": "@jupyter-widgets/base",
          "model_module_version": "1.2.0",
          "model_name": "LayoutModel",
          "state": {
            "_model_module": "@jupyter-widgets/base",
            "_model_module_version": "1.2.0",
            "_model_name": "LayoutModel",
            "_view_count": null,
            "_view_module": "@jupyter-widgets/base",
            "_view_module_version": "1.2.0",
            "_view_name": "LayoutView",
            "align_content": null,
            "align_items": null,
            "align_self": null,
            "border": null,
            "bottom": null,
            "display": null,
            "flex": null,
            "flex_flow": null,
            "grid_area": null,
            "grid_auto_columns": null,
            "grid_auto_flow": null,
            "grid_auto_rows": null,
            "grid_column": null,
            "grid_gap": null,
            "grid_row": null,
            "grid_template_areas": null,
            "grid_template_columns": null,
            "grid_template_rows": null,
            "height": null,
            "justify_content": null,
            "justify_items": null,
            "left": null,
            "margin": null,
            "max_height": null,
            "max_width": null,
            "min_height": null,
            "min_width": null,
            "object_fit": null,
            "object_position": null,
            "order": null,
            "overflow": null,
            "overflow_x": null,
            "overflow_y": null,
            "padding": null,
            "right": null,
            "top": null,
            "visibility": null,
            "width": null
          }
        }
      }
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}
